Automatic email consolidation for multiple participants

ABSTRACT

The invention is a data processing means wherein human perceptible elements of electronic information are gathered, prepared, formatted, or otherwise processed in forming a unified collection of such information storable as a distinct entity. In particular, the invention is a process for composing and displaying a consolidated message document. The preferred embodiment of the invention is a computer program that configures a general-purpose computer to implement the inventive process. Responsive to a user&#39;s selection of a message, the inventive process identifies all related messages that the user has received, inserts the related messages into a consolidated message document, and displays the consolidated message document on the user&#39;s output device. The inventive process further comprises the steps of removing duplicate message content, sorting the related messages within the consolidated message document according to user-specified preferences, storing the consolidated message document, and marking the related messages for deletion.

CROSS-REFERENCE TO RELATED APPLICATION

The present invention is related to the subject matter of U.S. patent application Ser. No. ______ (Attorney Docket number AUS920040191US1), incorporated herein by reference.

FIELD OF THE INVENTION

The present invention generally relates to a data processing means or steps wherein human perceptible elements of electronic information are gathered, prepared, formatted, or otherwise processed in forming a unified collection of such information storable as a distinct entity. In particular, the present invention relates to means or steps for composing an email message document wherein one or more elements of the document are extracted from related email message documents.

BACKGROUND OF THE INVENTION

Currently, email clients such as MICROSOFT OUTLOOK and LOTUS NOTES enable a user to exchange electronic messages with other users through networked email servers. These email clients typically display to a user a list of messages that the user has received. If the user wants to view the full message, the user selects the message from the displayed list and the email client renders the selected message on the display device. The user must repeat this process for every separate message that the user wants to view.

Many common email clients also enable a user to sort and group messages by various message attributes, including the subject line. Thus, users can group related messages and replies in the displayed list, but still must view each message individually.

If a user wants to respond to a message, the user simply selects the message from the displayed list, much like viewing the message, and activates a “reply” command. In general, an email client responds to a “reply” command by creating a new message with the same subject line. Many email clients also copy the content of the original message into the reply message. FIG. 1, for example, depicts message text 100 that user 101 has created to send to four recipients 102, with subject line 103. FIGS. 2 and 3 represent typical responses to the message illustrated in FIG. 1. As illustrated in FIGS. 2 and 3, each response contains the same subject line 103. Additionally, each response contains the original message text 100 as well as the response text 200 and 300.

The typical email client's response to a reply command, which generally includes copying the original message content into the reply message, may be useful and convenient for users exchanging a limited number of messages. As the number of electronic messages and replies increases, though, the duplicate content increases the burden on the user to process and manage the information in the messages, and may increase the burden on the underlying data storage system as well. The burden increases proportionally with each additional user that participates in the exchange.

While common email clients relieve some of the burden by allowing the user to group related messages in the displayed list of messages, such functionality does not relieve the user of the burden of opening and reading multiple messages, nor does it relieve the burden on the underlying data storage system.

U.S. Pat. No. 6,453,337 (issued Sep. 17, 2002) (the '337 patent) discloses methods and systems for creating, tracking, and managing the states of electronic media containing static and dynamic content (which the '337 patent refers to as a “zaplet”). The dynamic content is stored in a database accessible over a network through a server. The server accepts input from one or more “participants” in the zaplet to update the dynamic content. Thus, the '337 patent addresses some of the problems associated with group communication through an electronic medium, but the systems and methods disclosed therein rely on a complex authoring and delivery system and require a dedicated server to process the communications and update content. U.S. Pat. No. 6,457,045 (issued Sep. 24, 2002), U.S. Pat. No. 6,496,849 (issued Dec. 17, 2002), and U.S. Pat. No. 6,505,233 (issued Jan. 7, 2003) all generally relate to the same methods and systems disclosed in the '337 patent, and all require a similar complex computing infrastructure to achieve the desired results.

Thus, email client users need an improved means for using existing messaging systems to process, display, and store multiple related electronic messages. The present invention addresses this need.

It is an object of the present invention to provide email users with a method to store messages without duplicating message content.

An additional object of the present invention is to provide participants of an extended message exchange with a method for viewing a more complete conversation without needing to open or otherwise sort all responses individually.

An additional object of the present invention is to increase the efficacy of electronic communications, including reducing the time spent to sort and read through multiple responses in different messages from multiple senders.

An additional object of the present invention is to increase the storage efficiency for electronic communications.

These and other objects of the invention will be apparent to those skilled in the art from the following detailed description of a preferred embodiment of the invention.

SUMMARY OF THE INVENTION

The invention disclosed herein is a process for composing and displaying a consolidated message document. The preferred embodiment of the disclosed invention is a computer program that configures one or more general-purpose computers to implement the inventive process.

Responsive to a user's selection of a message, the inventive process identifies all other related messages that the user has received, inserts the related messages into a consolidated message document, and displays the consolidated message document on the user's output device. In the preferred embodiment, the inventive process further comprises the steps of removing duplicate message content, sorting the related messages within the consolidated message document according to user-specified preferences, storing the consolidated message document, and marking the related messages for deletion.

BRIEF DESCRIPTION OF DRAWINGS

The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself, however, as well as a preferred mode of use, further objectives and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawings, wherein:

FIG. 1 represents a message that a user has created to send to multiple recipients;

FIG. 2 and FIG. 3 represent typical responses to the message of FIG. 1, using prior art system;

FIG. 4 illustrates the internal configuration of a computer having the computer program of the present invention loaded into memory;

FIG. 5 illustrates a prior art architecture for connecting various hardware devices to create a network for transferring data;

FIG. 6 illustrates the function of the present invention integrated with a prior art messaging system;

FIG. 7 represents a typical prior art listing of message headers in a graphical user interface;

FIG. 8 illustrates the inventive process for composing and displaying a consolidated message document;

FIG. 9 represents an embodiment of a consolidated message document; and

FIG. 10 illustrates an embodiment of a graphical user interface to a messaging system integrated with the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

A person of ordinary skill in the art will appreciate that the present invention may be implemented in a variety of software and hardware configurations. It is believed, however, that the invention is described best as a computer program that configures and enables one or more general-purpose computers to implement the novel aspects of the invention.

As used herein, the term “computer” includes, without limitation, any machine that is capable of processing data and performing logic operations according to a predefined set of instructions.

A “program” includes any predefined set of instructions capable of directing a computer to process data or perform logic operations.

The internal configuration of a computer, including connection and orientation of the processor, memory, and input/output devices, is well known in the art. FIG. 4 represents the internal configuration of a computer having the computer program of the present invention loaded into memory 400. The computer program of the present invention is depicted as message extraction and consolidation program (MECP) 430, which operates in concert with messaging program 420. Memory 400 is only illustrative of memory within a computer and is not meant as a limitation. Memory 400 also contains resource data 410. The present invention may interface with resource data 410 through memory 400.

In alternative embodiments, MECP 430 and its components can be stored in the memory of other computers. Storing MECP 430 in the memory of other computers allows the processor workload to be distributed across a plurality of processors instead of a single processor. Further configurations of MECP 430 across various multiple memories and processors are known by persons skilled in the art.

FIG. 5 illustrates a common prior art architecture for connecting various hardware devices to create a network for transferring data. Computer network 500 comprises local computer 501 electrically coupled to network connection 502. In FIG. 5, local computer 501 is coupled electrically to remote computer 503 via network connection 502. Local computer 501 also is coupled electrically to server 504 and persistent storage 506 via network connection 502. Network connection 502 may be a simple local area network (LAN) or may be a larger wide area network (WAN), such as the Internet. While computer network 500 depicted in FIG. 5 is intended to represent a possible network architecture, it is not intended to represent an architectural limitation.

MECP 430 described herein can be stored within memory 400 of any computer or server depicted in FIG. 5. Alternatively, MECP 430 can be stored in an external storage device such as persistent storage 506, or a removable disk such as a CD-ROM (not pictured). Additionally, messaging program 420 and MECP 430, as described in detail below, are generally loaded into the memory of more than one computer of FIG. 5 to enable users on different computers to exchange messages over network connection 502.

Messaging program 420 represents any computer program that configures a computer to send and receive messages through a communications media, such as network connection 502. A person of skill in the art will appreciate that messaging program 420 may be embodied in any prior art electronic mail program loaded into the memory of a local computer, such as local computer 501. A person of skill in the art also will appreciate that the inventive functions of MECP 430 may be implemented as a stand-alone program, or be integrated into any prior art messaging program, such as messaging program 420.

FIG. 6 illustrates the general operation of the present invention when integrated with messaging program 420. In general, messaging program 420 receives and stores messages 600 in persistent storage, such as persistent storage 506, in real time. The data structure of a message 600 is well known in the art and is not described in detail here. For purposes of this discussion, though, each message 600 is assumed to comprise a message header and a message body. A message header includes data that represents properties of the respective message, such as the sender, subject, and date. A message body includes data that represents the substance of the communication.

Referring again to FIG.6, messaging program 520 displays a message header (605) for each message in persistent storage, and updates the display as it receives and stores new messages. FIG. 7 represents a typical prior art graphical user interface (GUI) to the list of message headers. GUI 700 is referred to colloquially as an “Inbox.” To view a message body, a user generally selects a message header and then “double-clicks” the header or selects an “open” command from a menu (610). In the preferred embodiment, GUI 700 includes a single command button with which a user can activate MECP 430. MECP 430 then identifies and consolidates any messages related to the user-selected message (615), resulting in consolidated message document 620. The process of identifying and consolidating related messages is described in detail below and illustrated in FIG. 8. Messaging program 420 then displays consolidated message document 620 (625). As indicated in FIG. 6, various embodiments of MECP 430 provide a user with options to reply to multiple messages by replying to consolidated message document 620 (630), as well as options for storing consolidated message document 620 (635) and marking related messages for deletion (640). MECP 430 also may allow a user to forward consolidated message document 620 to additional recipients.

The following discussion assumes, for illustrative purposes only, that a user (“the sender”) has sent an initial message substantially similar to the message depicted in FIG. 1. This discussion also assumes that the sender has received responsive messages substantially similar to those depicted in FIG. 2 and FIG. 3. The sender also may have received additional responses and messages, as represented in GUI 700 (see FIG. 7). Finally, as discussed above, MECP 430 generally executes in response to a user's command to view a message. A person of skill in the art will appreciate that there are many methods for implementing a GUI to MECP 430, and such methods are not described in detail here.

Referring to FIG. 8 for illustration, MECP 430 responds to a user's command to view a message by comparing stored messages 600 in persistent storage 506 (800) with the message that the user has selected for viewing (the “active” message). MECP 430 examines the properties of each stored message 600 to determine if the message's properties match the active message's properties (820), according to pre-defined match criteria 830. The preferred embodiment of MECP 430 allows the user to define the criteria for matching messages, as indicated in FIG. 8, but a person of skill in the art will appreciate that a system administrator or other party also may establish the criteria, or embed them directly into the program itself. Any message 600 that matches the active message, as determined by the pre-defined criteria, is referred to herein as a “related” message. If MECP 430 determines that a message 600 is related to the active message, MECP 430 extracts the message to resource data 410 (845). Once MECP 430 has identified all related messages, MECP 430 then identifies sections of related messages that are duplicated in each message (850). A process for identifying duplicate message content is disclosed in U.S. patent application Ser. No. ______, which is incorporated herein by reference, but other processes available in the art may be used as well. Sections of duplicate message content are referred to herein collectively as the “base section;” sections that are not comprised of duplicate content are referred to as “new” sections. After identifying the base section and any new sections, MECP 430 creates consolidated message document 620 and inserts the base section. MECP 430 then merges all new sections of related messages 600 in consolidated document 620 (860). In a preferred embodiment, MECP 430 also arranges new sections of related messages 600 within consolidated message document 620 according to the user's preferences. MECP 430 may be configured to use any number of message properties, including timestamp, subject, sender, or any combination thereof, to arrange related messages 600 within consolidated message document 620. A person of skill in the art will appreciate that MECP 430 may be configured to arrange related messages 600 according to predefined, default criteria, or according to a user's preferences.

Thus, referring to FIG. 7 for illustrative purposes, if a user selects the message header with the subject line “RE: XYZ Update” received at 3:45 P.M. on August 4 from Mary Jones, then MECP 430 will examine all other messages for similar properties. Although MECP 430 may use any number of criteria to establish that a message is related to another, for purposes of this example, it is assumed that MECP 430 has been configured to examine the “subject” field. Thus, in this example, MECP 430 would determine that only the three most recent messages are related to the active message, since those three messages are the only messages with identical subject lines. Consequently, MECP 430 would store only these three messages as resource data 410. MECP 430 would then identify the base section, which, in this example, would comprise the initial message (see FIG. 1), and insert the base section into a consolidated message document. MECP 430 would then insert any new sections, including any new sections in the active message, into the same consolidated message document. In alternate embodiments, MECP 430 may include only new sections of related messages that the user received before the active message, or may include all new sections. In a preferred embodiment, if MECP 430 includes only new sections from previous messages, then MECP 430 would notify the user that the user has received other related messages after receiving the active message, but the later messages are not included in the consolidated message document. FIG. 9 represents one embodiment of the consolidated message document that MECP 430 would produce if given the messages discussed in this example.

In its preferred embodiment, MECP 430 further includes security controls that allow a user to limit a recipient's ability to alter the contents of the consolidated message document.

In its preferred embodiment, MECP 430 also marks related messages for deletion, in order to facilitate managing and storing messages. Referring again to the example just discussed, after MECP 430 generates the consolidated message document of FIG. 9, MECP 430 would mark each of the related messages for deletion, as depicted in FIG. 10. The user, then, could delete the related messages with a single click of a command button. Alternatively, the user could configure MECP 430 to delete such related messages automatically.

A preferred form of the invention has been shown in the drawings and described above, but variations in the preferred form will be apparent to those skilled in the art. The preceding description is for illustration purposes only, and the invention should not be construed as limited to the specific form shown and described. The scope of the invention should be limited only by the language of the following claims. 

1. A process for composing and displaying a consolidated message document, the process comprising the steps of: selecting a first message; comparing the first message with one or more stored messages; determining if each stored message is related to the first message; and responsive to determining that one or more stored message is related to the first message, creating a consolidated message document having the first message, inserting one or more of the related messages into the consolidated message document, and displaying the consolidated message document on an output device.
 2. The process of claim 1 wherein the inserting step further comprises: sorting the related messages by one or more common properties.
 3. The process of claim 2 wherein: each related message has a timestamp property; and the sorting step comprises ordering the related messages by their timestamp properties.
 4. The process of claim 2 wherein: each related message has a subject property; and the sorting step comprises ordering the related messages by their subject properties.
 5. The process of claim 2 wherein: each related message has a sender property; and the sorting step comprises ordering the related messages by their sender properties.
 6. The process of claim 1 further comprising the step of: storing the consolidated message document in a memory.
 7. The process of claim 1 further comprising the step of: marking the second message for deletion.
 8. The process of claim 7 further comprising the step of deleting the second message.
 9. The process of claim 1 further comprising the step of deleting the second message.
 10. The process of claim 1 further comprising the step of: before inserting a related message into the consolidated message document, identifying content in the first message that is repeated in the related message, and removing the repeated content from the related message.
 11. The process of claim 1 wherein: the first message has a first subject property; each stored message has a second subject property; the comparing step comprises comparing the first subject property to the second subject property; and the stored message is determined to be related to the first message if the first subject property is the same as the second subject property.
 12. The process of claim 1 wherein: the first message has a first sender property; each stored message has a second sender property; the comparing step comprises comparing the first sender property to the second sender property; and the stored message is determined to be related to the first message if the first sender property is the same as the second sender property.
 13. A data processing machine comprising: a processor; a memory; an output device; a plurality of messages stored in the memory; a consolidated message document in the memory; means for selecting a message stored in the memory; means for identifying messages that are related to the selected message; means for inserting the selected message and the related messages into the consolidated message document; and means for displaying the consolidated message document on the output device; whereby a user of the data processing machine can view the selected message and the related messages in the consolidated message document on the output device.
 14. The data processing machine of claim 13 further comprising: means for storing the consolidated message document in the memory.
 15. The data processing machine of claim 13 further comprising: means for storing the consolidated message document in a second memory.
 16. The data processing machine of claim 13 further comprising: means for marking related messages; whereby a user can delete messages that are marked.
 17. The data processing machine of claim 13 further comprising: means for deleting related messages; whereby the processor can delete related messages after inserting the related messages into the consolidated message document.
 18. The data processing machine of claim 13 further comprising: means for sorting the related messages by one or more properties of the related messages, before the related messages are inserted into the consolidated message document.
 19. The data processing machine of claim 18 wherein: at least one of the properties of the related messages comprises a timestamp.
 20. The data processing machine of claim 13 wherein: each stored message has a subject property; and the means for identifying related messages comprises a computer program operable on the data processing machine that configures the processor to compare the value of each stored message's subject property, and determine that each message having the same value of the subject property is related.
 21. The data processing machine of claim 13 wherein: each stored message has a sender property; and the means for identifying related messages comprises a computer program operable on the data processing machine that configures the processor to compare the value of each stored message's sender property, and determine that each message having the same value of the sender property is related.
 22. The data processing machine of claim 13 further comprising: a graphical user interface program operable on the processor, the graphical user interface comprising a command button that, when activated, causes the processor to execute the identifying means, the inserting means, and the displaying means.
 23. The data processing machine of claim 13 further comprising: means for identifying the sender of the selected message; means for addressing the consolidated message document to the sender; and a graphical user interface program operable on the processor, the graphical user interface comprising a command button that, when activated, causes the processor to execute the message identifying means, the inserting means, the sender identifying means, the addressing means, and the displaying means; whereby a user of the data processing machine can send the consolidated message document to the sender.
 24. The data processing machine of claim 13 further comprising: means for identifying the sender of the selected message; means for identifying at least one recipient of the selected message; means for addressing the consolidated message document to the sender and at least one recipient of the selected message; and a graphical user interface program operable on the processor, the graphical user interface comprising a command button that, when activated, causes the processor to execute the message identifying means, the inserting means, the sender identifying means, the recipient identifying means, the addressing means, and the displaying means; whereby a user of the data processing machine can send the consolidated message document to the sender and at least one recipient of the selected message.
 25. The data processing machine of claim 13 further comprising: means for limiting the alteration of the consolidated message document to authorized recipients of the consolidated message document.
 26. A computer program operable on a data processing machine to compose and display one or more messages on an output device, the program comprising: means for selecting a message; means for identifying messages that are related to the selected message; means for inserting the selected message and the related messages into a consolidated message document; and means for displaying the consolidated message document on the output device; whereby a user of the data processing machine can view the related messages in the consolidated message document on the output device.
 27. The computer program of claim 26 further comprising: means for identifying the sender of the selected message; and means for addressing the consolidated message document to the sender of the selected message; whereby a user of the data processing machine can send the consolidated message document to the sender of the selected message.
 28. The computer program of claim 26 further comprising: means for identifying the sender of the selected message; means for identifying at least one recipient of the selected message; and means for addressing the consolidated message document to the sender and at least one recipient of the selected message; whereby a user of the data processing machine can send the consolidated message document to the sender and at least one recipient of the selected message.
 29. The computer program of claim 26 further comprising: means for storing the consolidated message document in a memory.
 30. The computer program of claim 26 further comprising: means for marking related messages; whereby a user can delete messages that are marked.
 31. The computer program of claim 26 further comprising: means for deleting related messages.
 32. The computer program of claim 26 further comprising: means for sorting the related messages by one or more properties of the related messages, before the related messages are inserted into the consolidated message document.
 33. The computer program of claim 32 wherein: at least one of the properties of the related messages is a timestamp.
 34. The computer program of claim 26 wherein: the means for identifying related messages comprises instructions to compare a subject property of each message, and determine that each message having the same subject property is related.
 35. The computer program of claim 26 wherein: the means for identifying related messages comprises instructions to compare a sender property of each message, and determine that each message having the same sender property is related. 